657cf240228e45e499169b96181c7619aaa505a6,java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationLabeler.java,TypeMigrationLabeler,getElementType,#PsiElement#,450
Before Change
final PsiElement parent = resolved.getParent();
LOG.assertTrue(parent instanceof PsiJavaCodeReferenceElement);
final PsiClass psiClass = (PsiClass)((PsiJavaCodeReferenceElement)parent).resolve();
return JavaPsiFacade.getElementFactory(parent.getProject()).createType(psiClass, TypeConversionUtil.getSuperClassSubstitutor(psiClass, PsiTreeUtil.getParentOfType(parent,
PsiClass.class),
PsiSubstitutor.EMPTY));
} else if (resolved instanceof PsiClass) {
return JavaPsiFacade.getElementFactory(resolved.getProject()).createType((PsiClass)resolved, PsiSubstitutor.EMPTY);
After Change
while (parent != null) {
LOG.assertTrue(parent instanceof PsiJavaCodeReferenceElement);
final PsiClass psiClass = (PsiClass)((PsiJavaCodeReferenceElement)parent).resolve();
final PsiClass containingClass = PsiTreeUtil.getParentOfType(parent, PsiClass.class);
if (psiClass != null && containingClass != null) {
final PsiSubstitutor classSubstitutor = TypeConversionUtil.getClassSubstitutor(psiClass, containingClass, PsiSubstitutor.EMPTY);
if (classSubstitutor != null) {
return JavaPsiFacade.getElementFactory(parent.getProject()).createType(psiClass, classSubstitutor);
}
}